<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class producto_servicioM extends CI_Model {

    public function __construct() {
        $this->load->database();
    }

    public function obtenerServiciosProductos($idCategoria, $idEstablecimiento) {
        $query = "SELECT ps.* FROM categoria_producto_servicio cps, producto_servicio ps WHERE ps.id_categoria_producto='$idCategoria' AND cps.id_categoria_producto='$idCategoria' AND cps.id_establecimiento='$idEstablecimiento' AND cps.eliminado='0' AND ps.eliminado='0' ORDER BY ps.nombre";
        return $this->db->query($query)->result();
    }

    public function actualizarInventario($idServicio, $cantidad) {
        $query = "UPDATE producto_servicio SET cantidad_actual=cantidad_actual-$cantidad WHERE id_servicio='$idServicio' AND id_establecimiento='{$_SESSION["establecimiento"]["id_establecimiento"]}'";

        return $this->db->query($query);
    }

    public function actualizarInventarioDeleteCompra($idServicio, $cantidad) {
        $query = "UPDATE producto_servicio SET cantidad_actual=cantidad_actual-$cantidad WHERE id_servicio='$idServicio'";

        return $this->db->query($query);
    }

    public function actualizarInventarioCompra($idServicio, $cantidad) {
        $query = "UPDATE producto_servicio SET cantidad_actual=cantidad_actual+$cantidad WHERE id_servicio='$idServicio'";

        return $this->db->query($query);
    }

    public function actualizarInventarioPorDevolucion($idServicio, $cantidad) {
        $query = "UPDATE producto_servicio SET cantidad_actual=cantidad_actual+$cantidad WHERE id_servicio='$idServicio'";

        return $this->db->query($query);
    }

    public function listarProductos($establecimiento, $categoria) {
        $query = "SELECT * FROM categoria_producto_servicio cp, producto_servicio ps WHERE cp.id_categoria_producto = ps.id_categoria_producto AND ps.id_categoria_producto='$categoria' AND cp.id_establecimiento='$establecimiento' AND ps.eliminado=0";
        // echo $query; 
        return $this->db->query($query)->result();
    }

    public function crearProducto($establecimiento, $categoria, $data) {
        $query = "INSERT INTO producto_servicio(id_categoria_producto,id_establecimiento,nombre,descripcion,valor,cantidad_actual) VALUES('$categoria','$establecimiento','{$data['nombre']}','{$data['descripcion']}','{$data['tarifa']}','{$data['cantidadActual']}')";
        $this->db->query($query);
    }

    public function editarProducto($idEstablecimiento, $data) {
        $query = "UPDATE producto_servicio SET nombre='{$data["nombre"]}',descripcion='{$data["descripcion"]}',valor='{$data["tarifa"]}' where id_establecimiento='$idEstablecimiento' and id_servicio={$_POST["idProducto"]}";
        return $this->db->query($query);
    }

    public function eliminarProducto($idEstablecimiento, $idProducto) {
        $query = "UPDATE producto_servicio SET eliminado=1 WHERE id_servicio='$idProducto' and id_establecimiento='$idEstablecimiento'";
        return $this->db->query($query);
    }

    public function actualizarInventarioPorAjuste($idEstablecimiento,$idServicio, $cantidad) {
        $query = "UPDATE producto_servicio SET cantidad_actual=cantidad_actual+$cantidad WHERE id_servicio='$idServicio' and id_establecimiento='$idEstablecimiento'";
        return $this->db->query($query);
    }

    public function crearServicio($establecimiento, $categoria, $data) {
        $query = "INSERT INTO producto_servicio(id_categoria_producto,id_establecimiento,nombre,descripcion,valor,cantidad_actual) VALUES('$categoria','$establecimiento','{$data['nombre']}','{$data['descripcion']}','{$data['tarifa']}','0')";
        $this->db->query($query);
    }

    public function editarServicio($idEstablecimiento, $data) {
        $query = "UPDATE producto_servicio SET nombre='{$data["nombre"]}',descripcion='{$data["descripcion"]}',valor='{$data["tarifa"]}' where id_establecimiento='$idEstablecimiento' and id_servicio={$_POST["idServicio"]}";
        return $this->db->query($query);
    }

    public function eliminarServicio($idEstablecimiento, $idServicio) {
        $query = "UPDATE producto_servicio SET eliminado=1 WHERE id_servicio='$idServicio' and id_establecimiento='$idEstablecimiento'";
        return $this->db->query($query);
    }

}